For many multimedia applications, not only is processor speed important, but also input/output bandwidth is a critical factor that limits applications on personal computers. To address this limitation, the IEEE 1394 standard enables high-performance multimedia connections with camcorders, televisions, stereos, CD changers, set-top boxes, mixing consoles and music keyboards, as well as traditional personal computer devices. Also known as the "FireWire" standard, IEEE 1394 provides a bus interface standard for portable and desktop computing environments. The IEEE 1394 Standard serves as an important linking technology that bridges the consumer and computer markets and describes a serial bus driven by an advanced communication protocol. The IEEE 1394 serial bus is designed for low system cost, while providing the data transfer rates needed for high-performance peripheral buses.
Developed by the Institute of Electrical and Electronics Engineers (IEEE) and its list of member computer companies, the IEEE 1394 standard is a serial bus interface that enables low-cost, high-speed digital data transfer and communication. Transfer speeds between devices can reach up to 400 megabits per second (mbps) via both asynchronous and isochronous data transfer modes. The IEEE 1394 Standard interface lends itself to video applications because it operates an isochronous time-slice system. For example, if the system was configured to output one frame per 1/15 seconds, at least one frame will exist in every packet that is sent out. This results in smooth looking video. For that reason, the IEEE 1394 Standard interface is highly compatible with technologies like asynchronous transfer mode (ATM) which also operates in an isochronous mode.
Benefits of the IEEE 1394 Standard are a real-time transmission of data that provides the benefit of an ideal interconnect for multimedia applications. Using a small, durable and flexible cable and cable connectors, the IEEE 1394 Standard generates cost savings and eliminates certain cable requirements. The IEEE 1394 Standard provides universal input/output interconnects that integrate input/output ports while consolidating printed circuit board space. Moreover, the IEEE 1394 Standard provides peer-to-peer communication structure that permits peripherals to communicate directly with each other without burdening the host unit.
The IEEE 1394 Standard provides a high speed serial bus that uses packetized data that includes a header. The header includes routing information. In addition, the packetized data includes payload data. Physical characteristics of the media are not necessarily designed for a long transmission distance. The IEEE 1394 Standard is designed for short distances such as local area networks that operate on a desktop bus. The distances are often longer than simply the desktop, but the IEEE 1394 Standard is not intended to be used for local area network operations. In essence, therefore, the IEEE 1394 Standard provides a high speed interconnect to replace serial buses and parallel buses for accessing devices such as workstations, home computers, televisions, VCRs, and camcorders with various media types such as audio, video and text.
To satisfy the requirements of an interface device for communicating according to the IEEE 1394 Standard, there is the requirement to identify that a given packet is to be received by a particular node. The IEEE 1394 Standard does this in a programmable fashion. To ensure that only desired packets are transferred from peripherals to the personal computer requires that only the desired packets are released and forwarded to the personal computer. Existing technology does not permit narrowly selecting packets in a programmable, flexible and adaptable way. Moreover, existing interface devices for the 1394 bus cannot handle reserved operational codes or tcodes in the packet header in a programmable way. No existing interface device for an IEEE 1394 bus permits selecting a highest priority channel from ones that match data patterns. Moreover, no existing system permits matching a data pattern with match data pattern and assigning the data pattern to a particular channel. Nor do existing interface devices provide a way to specify multiple sets of desired patterns for matching and assigning a given data pattern to a given data channel.